package util.common;

import core.Lunecy;

/**
 * Manager interface.
 * @author Joel Rausch
 *
 */
public abstract class AbstractManager {
	
	protected Lunecy parent;
	
	/**
	 * Bind the manager to the engine.
	 * @param parent
	 */
	public void bindManager(Lunecy parent) {
		this.parent = parent;
	}
	
	/**
	 * Called before manager is used.
	 * @throws Exception 
	 */
	public abstract void startup() throws Exception;
	
	/**
	 * Called before the manager is collected.
	 */
	public abstract void shutdown() throws Exception;
}
